{
语法百题 解题报告：
 http://git.oschina.net/et0662/sznoi-grammar/ 
}

procedure f(a,b,c:char;n:integer);
begin
	if(n=1)then
		writeln(n,':',a,'->',c)
	else
	begin
		f(a,c,b,n-1);
		writeln(n,':',a,'->',c);
		f(b,a,c,n-1);
	end;
end;

var
	n:integer;
begin
	readln(n);
	f('A','B','C',n);
end.
